In computer network systems, active flow management techniques are commonly used to control the subscription and offered load of each thread data flow, along with the service rate of the network system itself, to achieve fairness of bandwidth allocation.
However, unnecessary packet drop due to short burst traffic may occur, and problems arise if there is no mechanism provided to preferentially treat short bursts of packets. Most active queue management algorithms drop some packets when congestion is detected, and indeed in an initial burst to detect incipient congestion. If the burst is sustained for a very short period, this can cause unnecessary packet drops because there is enough space in the packet buffer to be able to accommodate the burst. This is especially detrimental in Transmission Control Protocol (TCP) networks because each packet drop causes TCP retransmissions which can lead to very low useful throughput.
In TCP networks, it is known to use Explicit Congestion Notification (ECN) to mark packets and indicate to a sender that a congestion window should be adjusted to a lower rate. However, ECN applied in the case of very short and sustainable bursts can be detrimental to the total throughput because it unnecessarily causes the window to adjust when the packets in the burst could well have been transmitted only with a little price in latency. It is also known to use an exponentially weighted moving average of a queue level to smooth out bursts; however, this solution is computationally expensive.
What is needed is a method and system for active flow management for computer networks that sustains short burst packet traffic without causing unnecessary packet drops and at the same time not degrading the network system throughput for persistent bursts of packets, and which can be implemented in hardware without too much logic overhead.